package test3_27.demo03;

/*
自定义类Sanj，其中有成员 x,y,z,作为三边长，
构造方法Sanj(a,b,c)分别给x,y,z赋值,
方法求面积getArea和显示三角形信息(三个边长)showInfo，
这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException，否则显示正确信息。
在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数)，显示三角形信息和面积，要求捕获异常
 */
public class Sanj {

    private double x;
    private double y;
    private double z;

    public Sanj(double x, double y, double z) {
        if (x + y < z || x + z < y || y + z < x) {
            throw new NotSanjiaoException("三边无法构成三角形");
        }
        this.x = x;
        this.y = y;
        this.z = z;
    }

    public void getArea() {
        double s = (x + y + z) / 2;

        double area = Math.sqrt(s * (s - x) * (s - y) * (s - z));
        System.out.println("三角形面积为：" + area);
    }

    public void showInfo() {
        System.out.println("边长为：" + this.x + "," + this.y + "," + this.z);
    }
}
